/*
 * Copyright 2010 Rajendra Patil
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2010.10.21 at 04:29:20 AM GMT+05:30 
//


package com.googlecode.slideshare4j.api.response.generated;

import java.util.Date;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;


/**
 * <p>Java class for LeadCampaign complex type.
 * 
 * <p>The following schema fragment specifies the expected content contained within this class.
 * 
 * <pre>
 * &lt;complexType name="LeadCampaign">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="Id" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="Name" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="SlideshowId" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="ForTagged" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="TargetedRegion" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="RequiresAddress" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="RequiresPhone" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="CallToAction" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="OfferText" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="StartedAt" type="{http://www.w3.org/2001/XMLSchema}date"/>
 *         &lt;element name="PausedAt" type="{http://www.w3.org/2001/XMLSchema}date"/>
 *         &lt;element name="CreatedAt" type="{http://www.w3.org/2001/XMLSchema}date"/>
 *         &lt;element name="UpdatedAt" type="{http://www.w3.org/2001/XMLSchema}date"/>
 *         &lt;element name="EndedAt" type="{http://www.w3.org/2001/XMLSchema}date"/>
 *         &lt;element name="MaximumDailySpend" type="{}AmountWithCurrency"/>
 *         &lt;element name="CostPerLead" type="{}AmountWithCurrency"/>
 *         &lt;element name="FormPosition" type="{http://www.w3.org/2001/XMLSchema}string"/>
 *         &lt;element name="FormBlocking" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="ForDownload" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="ForSidebar" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
 *         &lt;element name="StateOfCampaign" type="{}campaignState"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "LeadCampaign", namespace="")
@XmlType(name = "LeadCampaign", propOrder = {
    "id",
    "name",
    "slideshowId",
    "forTagged",
    "targetedRegion",
    "requiresAddress",
    "requiresPhone",
    "callToAction",
    "offerText",
    "startedAt",
    "pausedAt",
    "createdAt",
    "updatedAt",
    "endedAt",
    "maximumDailySpend",
    "costPerLead",
    "formPosition",
    "formBlocking",
    "forDownload",
    "forSidebar",
    "stateOfCampaign"
})
public class LeadCampaign {

    @XmlElement(name = "Id", required = true)
    protected String id;
    @XmlElement(name = "Name", required = true)
    protected String name;
    @XmlElement(name = "SlideshowId", required = true)
    protected String slideshowId;
    @XmlElement(name = "ForTagged", required = true)
    protected String forTagged;
    @XmlElement(name = "TargetedRegion", required = true)
    protected String targetedRegion;
    @XmlElement(name = "RequiresAddress", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean requiresAddress;
    @XmlElement(name = "RequiresPhone", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean requiresPhone;
    @XmlElement(name = "CallToAction", required = true)
    protected String callToAction;
    @XmlElement(name = "OfferText", required = true)
    protected String offerText;
    @XmlElement(name = "StartedAt", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter1 .class)
    @XmlSchemaType(name = "date")
    protected Date startedAt;
    @XmlElement(name = "PausedAt", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter1 .class)
    @XmlSchemaType(name = "date")
    protected Date pausedAt;
    @XmlElement(name = "CreatedAt", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter1 .class)
    @XmlSchemaType(name = "date")
    protected Date createdAt;
    @XmlElement(name = "UpdatedAt", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter1 .class)
    @XmlSchemaType(name = "date")
    protected Date updatedAt;
    @XmlElement(name = "EndedAt", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter1 .class)
    @XmlSchemaType(name = "date")
    protected Date endedAt;
    @XmlElement(name = "MaximumDailySpend", required = true)
    protected AmountWithCurrency maximumDailySpend;
    @XmlElement(name = "CostPerLead", required = true)
    protected AmountWithCurrency costPerLead;
    @XmlElement(name = "FormPosition", required = true)
    protected String formPosition;
    @XmlElement(name = "FormBlocking", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean formBlocking;
    @XmlElement(name = "ForDownload", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean forDownload;
    @XmlElement(name = "ForSidebar", required = true, type = String.class)
    @XmlJavaTypeAdapter(Adapter2 .class)
    @XmlSchemaType(name = "boolean")
    protected Boolean forSidebar;
    @XmlElement(name = "StateOfCampaign", required = true)
    protected CampaignState stateOfCampaign;

    /**
     * Gets the value of the id property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getId() {
        return id;
    }

    /**
     * Sets the value of the id property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setId(String value) {
        this.id = value;
    }

    /**
     * Gets the value of the name property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getName() {
        return name;
    }

    /**
     * Sets the value of the name property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setName(String value) {
        this.name = value;
    }

    /**
     * Gets the value of the slideshowId property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getSlideshowId() {
        return slideshowId;
    }

    /**
     * Sets the value of the slideshowId property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setSlideshowId(String value) {
        this.slideshowId = value;
    }

    /**
     * Gets the value of the forTagged property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getForTagged() {
        return forTagged;
    }

    /**
     * Sets the value of the forTagged property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setForTagged(String value) {
        this.forTagged = value;
    }

    /**
     * Gets the value of the targetedRegion property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getTargetedRegion() {
        return targetedRegion;
    }

    /**
     * Sets the value of the targetedRegion property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setTargetedRegion(String value) {
        this.targetedRegion = value;
    }

    /**
     * Gets the value of the requiresAddress property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isRequiresAddress() {
        return requiresAddress;
    }

    /**
     * Sets the value of the requiresAddress property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRequiresAddress(Boolean value) {
        this.requiresAddress = value;
    }

    /**
     * Gets the value of the requiresPhone property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isRequiresPhone() {
        return requiresPhone;
    }

    /**
     * Sets the value of the requiresPhone property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setRequiresPhone(Boolean value) {
        this.requiresPhone = value;
    }

    /**
     * Gets the value of the callToAction property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCallToAction() {
        return callToAction;
    }

    /**
     * Sets the value of the callToAction property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCallToAction(String value) {
        this.callToAction = value;
    }

    /**
     * Gets the value of the offerText property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getOfferText() {
        return offerText;
    }

    /**
     * Sets the value of the offerText property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setOfferText(String value) {
        this.offerText = value;
    }

    /**
     * Gets the value of the startedAt property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Date getStartedAt() {
        return startedAt;
    }

    /**
     * Sets the value of the startedAt property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setStartedAt(Date value) {
        this.startedAt = value;
    }

    /**
     * Gets the value of the pausedAt property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Date getPausedAt() {
        return pausedAt;
    }

    /**
     * Sets the value of the pausedAt property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setPausedAt(Date value) {
        this.pausedAt = value;
    }

    /**
     * Gets the value of the createdAt property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * Sets the value of the createdAt property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCreatedAt(Date value) {
        this.createdAt = value;
    }

    /**
     * Gets the value of the updatedAt property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * Sets the value of the updatedAt property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setUpdatedAt(Date value) {
        this.updatedAt = value;
    }

    /**
     * Gets the value of the endedAt property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Date getEndedAt() {
        return endedAt;
    }

    /**
     * Sets the value of the endedAt property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setEndedAt(Date value) {
        this.endedAt = value;
    }

    /**
     * Gets the value of the maximumDailySpend property.
     * 
     * @return
     *     possible object is
     *     {@link AmountWithCurrency }
     *     
     */
    public AmountWithCurrency getMaximumDailySpend() {
        return maximumDailySpend;
    }

    /**
     * Sets the value of the maximumDailySpend property.
     * 
     * @param value
     *     allowed object is
     *     {@link AmountWithCurrency }
     *     
     */
    public void setMaximumDailySpend(AmountWithCurrency value) {
        this.maximumDailySpend = value;
    }

    /**
     * Gets the value of the costPerLead property.
     * 
     * @return
     *     possible object is
     *     {@link AmountWithCurrency }
     *     
     */
    public AmountWithCurrency getCostPerLead() {
        return costPerLead;
    }

    /**
     * Sets the value of the costPerLead property.
     * 
     * @param value
     *     allowed object is
     *     {@link AmountWithCurrency }
     *     
     */
    public void setCostPerLead(AmountWithCurrency value) {
        this.costPerLead = value;
    }

    /**
     * Gets the value of the formPosition property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getFormPosition() {
        return formPosition;
    }

    /**
     * Sets the value of the formPosition property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFormPosition(String value) {
        this.formPosition = value;
    }

    /**
     * Gets the value of the formBlocking property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isFormBlocking() {
        return formBlocking;
    }

    /**
     * Sets the value of the formBlocking property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setFormBlocking(Boolean value) {
        this.formBlocking = value;
    }

    /**
     * Gets the value of the forDownload property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isForDownload() {
        return forDownload;
    }

    /**
     * Sets the value of the forDownload property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setForDownload(Boolean value) {
        this.forDownload = value;
    }

    /**
     * Gets the value of the forSidebar property.
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public Boolean isForSidebar() {
        return forSidebar;
    }

    /**
     * Sets the value of the forSidebar property.
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setForSidebar(Boolean value) {
        this.forSidebar = value;
    }

    /**
     * Gets the value of the stateOfCampaign property.
     * 
     * @return
     *     possible object is
     *     {@link CampaignState }
     *     
     */
    public CampaignState getStateOfCampaign() {
        return stateOfCampaign;
    }

    /**
     * Sets the value of the stateOfCampaign property.
     * 
     * @param value
     *     allowed object is
     *     {@link CampaignState }
     *     
     */
    public void setStateOfCampaign(CampaignState value) {
        this.stateOfCampaign = value;
    }

}
